package com.huluobo.lc.kotlinim1807ak.data.db

import android.content.Context
import android.database.sqlite.SQLiteDatabase
import com.huluobo.lc.kotlinim1807ak.FragmentFactory.Companion.instance
import com.huluobo.lc.kotlinim1807ak.IMApplication
import org.jetbrains.anko.db.*

/**
 * @author Lc
 * @description:
 * @date :2021/3/4 10:47
 */
class DatabaseHelper(ctx: Context = IMApplication.instance) : ManagedSQLiteOpenHelper(
    ctx, NAME, null, VERSION
) {
    //一共四个参数对应Helper的构造方法,ctx代表Application的实例
    //name可以使用伴生对象自己起名字
    //工厂可以空
    //版本可以使用伴生对象自己设置
    companion object {
        const val NAME = "im.db"
        const val VERSION = 1
    }

    override fun onCreate(db: SQLiteDatabase?) {
        db?.createTable(
            ContactTable.NAME,//数据库名
            true,//如果当前表不存在就创建一个
            //id,主键,自动增长
            ContactTable.ID to INTEGER + PRIMARY_KEY + AUTOINCREMENT,
            ContactTable.CONTACT to TEXT

        )
    }

    override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
        db?.dropTable(ContactTable.NAME)
        onCreate(db)
    }
}